```{r}
#| label: carga de paquetes para el procesamiento de los datos
#| warning: false
#| message: false
library(tidyverse)
library(DT)
library(plotly)
library(ggthemes)
setwd("C:/Users/oscar/Desktop/Tarea3")
```Index
Felinos de Costa Rica
La siguiente compilación muestra una visualización de los avistamientos de las diferentes especies de felinos para Costa Rica a través de la plataforma Inaturalist.
```{r}
#| label: importacion de datos
#| warning: false
#| message: false
felinos <-
read_delim(
file = "C:/Users/oscar/Desktop/Tarea3/FELINOS.csv",
col_select = c(
"species",
"stateProvince",
"locality",
"eventDate",
"decimalLongitude",
"decimalLatitude",
"month"
)
)
``````{r}
#| label: renombrar las columnas de interes
#| warning: false
#| message: false
felinos <-
felinos |>
rename(
especies = species,
provincia = stateProvince,
localidad = locality,
fecha = eventDate,
long = decimalLongitude,
lat = decimalLatitude,
mes = month
)
felinos
```# A tibble: 190 × 7
especies provincia localidad fecha long lat mes
<chr> <chr> <chr> <dttm> <dbl> <dbl> <dbl>
1 Puma concolor Puntarenas <NA> 2022-04-22 14:30:01 -83.6 8.46 4
2 Panthera onca Limón <NA> 2022-10-09 18:40:00 -83.5 10.5 10
3 Panthera onca Guanacaste <NA> 2022-09-28 05:25:00 -85.7 10.8 9
4 Leopardus tigrinus Guanacaste <NA> 2018-02-19 12:32:00 -84.8 10.3 2
5 Puma yagouaroundi Puntarenas <NA> 2022-01-23 15:05:00 -83.4 8.43 1
6 Leopardus pardalis Puntarenas <NA> 2022-08-28 11:18:15 -85.1 9.86 8
7 Puma yagouaroundi Puntarenas <NA> 2019-03-22 10:04:00 -83.9 9.27 3
8 Puma concolor Puntarenas <NA> 2022-06-13 15:54:06 -83.5 8.55 6
9 Puma concolor Heredia <NA> 2022-07-07 13:49:49 -84.1 10.3 7
10 Leopardus pardalis Puntarenas <NA> 2022-08-02 16:03:49 -83.2 8.81 8
# … with 180 more rows
```{r}
#| label: definicion de la columna fecha
#| warning: false
#| message: false
felinos |>
mutate(fecha = as.Date(fecha, format = "%d/%m/%Y"))
```# A tibble: 190 × 7
especies provincia localidad fecha long lat mes
<chr> <chr> <chr> <date> <dbl> <dbl> <dbl>
1 Puma concolor Puntarenas <NA> 2022-04-22 -83.6 8.46 4
2 Panthera onca Limón <NA> 2022-10-09 -83.5 10.5 10
3 Panthera onca Guanacaste <NA> 2022-09-28 -85.7 10.8 9
4 Leopardus tigrinus Guanacaste <NA> 2018-02-19 -84.8 10.3 2
5 Puma yagouaroundi Puntarenas <NA> 2022-01-23 -83.4 8.43 1
6 Leopardus pardalis Puntarenas <NA> 2022-08-28 -85.1 9.86 8
7 Puma yagouaroundi Puntarenas <NA> 2019-03-22 -83.9 9.27 3
8 Puma concolor Puntarenas <NA> 2022-06-13 -83.5 8.55 6
9 Puma concolor Heredia <NA> 2022-07-07 -84.1 10.3 7
10 Leopardus pardalis Puntarenas <NA> 2022-08-02 -83.2 8.81 8
# … with 180 more rows
Una vez seleccionados los datos de interés se generó una tabla dinámica con las especies de felino por localidad y fecha del reporte de este avistamiento (Tab. 1).
felinos|>
select(especies, provincia, localidad, fecha) |>
datatable (options = list (
pageLength = 5,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
))Tabla 1. Registros de las especies de felinos por fecha y localidad.
felinos <-
felinos |>
mutate(year = as.numeric(format(fecha,'%Y'))) |>
mutate(month = as.numeric(format(fecha,'%m'))) |>
arrange((month))|>
mutate(day = as.numeric(format(fecha,'%d')))Seguidamente se generó un gráfico de barras (Fig. 1) con la ocurrencia de las especies de felinos por mes a lo largo del año.
grafico_especies_mes <-
felinos |>
ggplot(aes(x = mes, fill = especies))+
scale_x_continuous(breaks = seq(1,12,1))+
scale_x_continuous(breaks = seq(1,12,1),
labels = c("1" =
"Ene", "2" = "Feb", "3" = "Mar", "4" =
"Abr", "5" = "May",
"6" = "Jun", "7" =
"Jul", "8" = "Ago",
"9" ="Sep", "10" = "Oct", "11" =
"Nov", "12" =
"Dic"))+
geom_bar() +
ggtitle("Registros mensuales por especie de felino") +
xlab("Meses") +
ylab("Observaciones") +
labs(fill = "Especies") +
theme_economist()
library(plotly)
# Gráfico de barras plotly
ggplotly(grafico_especies_mes) |>
config(locale = 'es')Figura 1. Ocurrencia mensual de especies de felinos en Costa Rica.
Coordinate Reference System:
User input: CR05 / CRTM05
wkt:
PROJCRS["CR05 / CRTM05",
BASEGEOGCRS["CR05",
DATUM["Costa Rica 2005",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",5365]],
CONVERSION["Costa Rica TM 2005",
METHOD["Transverse Mercator",
ID["EPSG",9807]],
PARAMETER["Latitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8801]],
PARAMETER["Longitude of natural origin",-84,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["Scale factor at natural origin",0.9999,
SCALEUNIT["unity",1],
ID["EPSG",8805]],
PARAMETER["False easting",500000,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS["northing (N)",north,
ORDER[1],
LENGTHUNIT["metre",1]],
AXIS["easting (E)",east,
ORDER[2],
LENGTHUNIT["metre",1]],
USAGE[
SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],
AREA["Costa Rica - onshore and offshore east of 86°30'W."],
BBOX[2.21,-86.5,11.77,-81.43]],
ID["EPSG",5367]]

felinos3 <-
st_as_sf(felinos, coords = c("long", "lat"))
st_crs(felinos3) <- 4326
leaflet() |>
setView(# centro y nivel inicial de acercamiento
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "OpenStreetMap") |>
addProviderTiles(providers$Esri.NatGeoWorldMap)|>
addRasterImage(raster(altitud))|>
addPolygons(
# capa de provincias (polígonos)
data = ASP,
color = "black",
fillColor = "transparent",
stroke = TRUE,
weight = 1.0
) |>
addCircleMarkers(
# capa de registros de presencia (puntos)
data = felinos3,
stroke = F,
radius = 4,
fillColor = 'blue',
fillOpacity = 1,
group = "Felinos",
popup = paste(
paste0("<strong>Especie: </strong>", felinos$especie),
paste0("<strong>Localidad: </strong>", felinos$localidad),
paste0("<strong>Fecha: </strong>", felinos$fecha)
)
) |>
addLayersControl(
baseGroups = c("OpenStreetMap", "Esri.NatGeoWorldMap"),
overlayGroups = c("Felinos", "altitud", "ASP")) |> # control de capas
addResetMapButton() |> # botón de reinicio
addSearchOSM() |> # búsqueda en OSM
addMouseCoordinates() |> # coordenadas del puntero del ratón
addScaleBar(position = "bottomleft", options = scaleBarOptions(imperial = FALSE)) |> # barra de escala
addMiniMap(position = "bottomleft") # mapa de ubicaciónWarning: Unknown or uninitialised column: `especie`.
```